package com.wash.shoes.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author ljg
 * @since 2024-09-16
 */
@ApiModel(value = "jd的调用记录")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("os_jd_call_record")
public class JdCallRecordPo extends Model<JdCallRecordPo> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "京东物流运单号")
    private String wayBillCode;

    @ApiModelProperty(value = "订单的id")
    private String orderId;

    @ApiModelProperty(value = "订单的编码")
    private String orderNo;

    @ApiModelProperty(value = "请求的json")
    private String requestInfo;

    @ApiModelProperty(value = "返回的json")
    private String respondInfo;

    @ApiModelProperty(value = "请求ID，每次请求均会产生，根据此请求ID可快速定位并进行排查")
    @TableField("request_Id")
    private String requestId;

    @ApiModelProperty(value = "状态编码：100（已接单）；390（已下发）；420（已揽收）；430（运输中）；440（派送中）；480（已拦截）；" +
            "500（异常终止）；510（妥投）；530（拒收）；690（已取消）")
    private Integer status;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "扩展字段")
    private String extendInfo;

    @TableField(value = "create_by", fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建者")
    private String createBy;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
}
